<template>
 
 <div class="todo-header">
        <input type="text" placeholder="请输入你的任务名称，按回车键确认" @keyup.enter="add"  v-model="title" />
      </div>
  </template>

<script lang="ts">
  import {defineComponent,ref} from 'vue'
  export default defineComponent({
    name:'Header',
    props:{ 
      addTodo:void{
        type:Function,
        required:true,
      }
    },
    setup(props){
      //定义一个ref类型的数据
      const title= ref('')
const add =()=>{
  //回车的事件的回调函数，用来添加数据
  //获取文本框输入的数据 判断不为空
  const text=title.value
  if(!text.trim())  return
  //有数据 创建一个todo对象
  const todo ={
    id:Date.now(),
    title:text,
    isCompleted:false,//默认给个false
  }

  // 调用方法addTodo的方法
      props.addTodo(todo);
      // 清空文本框
      title.value = ''  
  
}

      return{
        add,
        title
      }
    }
  })
</script> 

<style scoped>
.todo-header input {
  width: 560px;
  height: 28px;
  font-size: 14px;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 4px 7px;
}

.todo-header input:focus {
  outline: none;
  border-color: rgba(82, 168, 236, 0.8);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
}

</style>

